<?php
defined('IN_LM') or die('Error -1'); //防止非法调用

include_once("./login.php");

function chack_user_login_data()
{
    if($_POST['user_id']==""||$_POST['user_pass']==""||match_uint($_POST['user_id'])||match_xx($_POST['user_pass']))
    {
        return true;
    }else
    {
        return false;
    }
}

function chack_xxword()
{
    if( 
        match_xx($_POST['type'])||
        match_xx($_POST['allday'])||
        match_xx($_POST['color_sele'])||
        match_xx($_POST['stad_date'])||
        match_xx($_POST['title'])
        )
    {
        return true;
    }else
    {
        return false;
    }
}


function ma(&$return_data)
{
    $return_data['ac']="ma";



    switch($_GET['do'])
    {
        case "add":
            $return_data['do']="add";
            //$return_data['post']=$_POST;
            if(
                chack_user_login_data()
                //||chack_xxword()
                )
            {
                $return_data['error_msg']="data_error";
                $return_data['error_code']=100;
                return;
            }

            $user=chack_login_pass_at_id($_POST['user_id'],$_POST['user_pass']);
            if($user==null)
            {
                $return_data['error_msg']="user_error";
                $return_data['error_code']=100;
                return;
            }

            $GLOBALS['sql']->addend_data_on_tab(
                "ma",
                array(
                    'type'=>$_POST['type'],
                    'title'=>$_POST['title'],
                    'allday'=>$_POST['allday'],
                    'backgroundColor'=>$_POST['color_sele'],
                    'start'=>$_POST['stad_date'],
                    'end'=>$_POST['end_date'],
                    'from_user_id'=>$user[0]['id']
                    
                ));
                $return_data['error_msg']="add_ok";
                $return_data['error_code']=0;
                return;


        break;

        case "show":
            $return_data['do']="show";//获取日程
            //$return_data['post']=$_POST;

            $user_id="0";
            $user=chack_login_pass_at_id($_POST['user_id'],$_POST['user_pass']);//获取用户信息，用于日程权限判断
            if($user==null)
            {
                $user_id="0";//用户未登录
            }else
            {
                $user_id=$user[0]['id'];
            }

            $events=$GLOBALS['sql']->read_data_on_tab("ma");//获取所有日程

            if($events==null)
            {
                $return_data['error_msg']="no even";
                $return_data['error_code']=0;
                return;
            }

            $return_events=array();

            foreach ($events as $key => $value)//对获取到的日程进行处理
            { 

                $return_event=array(
                    'id'=>$value['id'],
                    'title'=>$value['title'],
                    'start'=>$value['start'],
                );
                if($value['end']!=null)
                {
                    $return_event['end']=$value['end'];
                }

                if($value['backgroundColor']!=null)
                {
                    $return_event['backgroundColor']=$value['backgroundColor'];
                }

                if($value['allday']!=null)
                {
                    if($value['allday']=="1")
                    {
                        $return_event['allDay']=true;
                    }else
                    {
                        $return_event['allDay']=false;
                    }
                    
                }

                //判断修改日程的权限
                if($value['from_user_id']==$user_id||chack_token_at_user_id("ma_admin",$user_id))
                {
                    $return_event['editable']=true;
                }

                //插入额外的数据
                $eventuser=read_user_at_id($value['from_user_id']);
                if($eventuser!=null)
                {
                    $return_event['event_username']=$eventuser[0]['acc'];
                }
                

                array_push($return_events,$return_event);
                
            }

            $return_data['events']=$return_events;
            //$return_data['events2']=$events;

            $return_data['error_msg']="show";
            $return_data['error_code']=0;
            break;

            case "event_droup":
                $return_data['do']="event_droup";
                //$return_data['post']=$_POST;

                if(
                    chack_user_login_data()
                    //||chack_xxword()
                    )
                {
                    $return_data['error_msg']="data_error";
                    $return_data['error_code']=100;
                    return;
                }
    
                $user=chack_login_pass_at_id($_POST['user_id'],$_POST['user_pass']);
                if($user==null)
                {
                    $return_data['error_msg']="user_error";
                    $return_data['error_code']=100;
                    return;
                }

                $event=$GLOBALS['sql']->read_data_on_tab(
                    "ma",
                    array(
                        'id'=>$_POST['id'],
                    )
                );

                if($event==null)
                {
                    $return_data['error_msg']="event_error";
                    $return_data['error_code']=100;
                    return;
                }

                //判断修改日程的权限
               
                if($event[0]['from_user_id']!=$user[0]['id']&&chack_token_at_user_id("ma_admin",$user[0]['id'])==false)
                {

                    $return_data['error_msg']="user_id not = eventfrom_id";
                    $return_data['error_code']=101;
                    return;
                }

                $GLOBALS['sql']->updata_on_tab(
                    "ma",
                    array(
                        'id'=>$_POST['id'],
                    ),
                    array(
                        'start'=>$_POST['start'],
                        'end'=>$_POST['end']
                    )
                );

                $return_data['error_msg']="droup_ok";
                $return_data['error_code']=0;
                return;



                break;

                case "del":

                    $return_data['do']="del";
                    //$return_data['post']=$_POST;
                    if(
                        chack_user_login_data()
                        //||chack_xxword()
                        )
                    {
                        $return_data['error_msg']="data_error";
                        $return_data['error_code']=100;
                        return;
                    }
        
                    $user=chack_login_pass_at_id($_POST['user_id'],$_POST['user_pass']);
                    if($user==null)
                    {
                        $return_data['error_msg']="user_error";
                        $return_data['error_code']=100;
                        return;
                    }
    
                    $event=$GLOBALS['sql']->read_data_on_tab(
                        "ma",
                        array(
                            'id'=>$_POST['id'],
                        )
                    );
    
                    if($event==null)
                    {
                        $return_data['error_msg']="event_error";
                        $return_data['error_code']=100;
                        return;
                    }
    
                //判断修改日程的权限
                if($event[0]['from_user_id']!=$user[0]['id']&&chack_token_at_user_id("ma_admin",$user[0]['id'])==false)
                {

                    $return_data['error_msg']="user_id not = eventfrom_id";
                    $return_data['error_code']=101;
                    return;
                }

                    $GLOBALS['sql']->deldata_on_tab(
                        "ma",
                        array(
                            'id'=>$_POST['id'],
                        )
                    );

                    $return_data['error_msg']="dle_ok";
                    $return_data['error_code']=0;
                    return;


                break;

                case "change":
                    $return_data['do']="change";
                    $return_data['post']=$_POST;

                if(
                    chack_user_login_data()
                    //||chack_xxword()
                    )
                {
                    $return_data['error_msg']="data_error";
                    $return_data['error_code']=100;
                    return;
                }
    
                $user=chack_login_pass_at_id($_POST['user_id'],$_POST['user_pass']);
                if($user==null)
                {
                    $return_data['error_msg']="user_error";
                    $return_data['error_code']=100;
                    return;
                }

                $event=$GLOBALS['sql']->read_data_on_tab(
                    "ma",
                    array(
                        'id'=>$_POST['id'],
                    )
                );

                if($event==null)
                {
                    $return_data['error_msg']="event_error";
                    $return_data['error_code']=100;
                    return;
                }

                //判断修改日程的权限
               
                if($event[0]['from_user_id']!=$user[0]['id']&&chack_token_at_user_id("ma_admin",$user[0]['id'])==false)
                {

                    $return_data['error_msg']="user_id not = eventfrom_id";
                    $return_data['error_code']=101;
                    return;
                }

                $GLOBALS['sql']->updata_on_tab(
                    "ma",
                    array(
                        'id'=>$_POST['id'],
                    ),
                    array(
                        'start'=>$_POST['stad_date'],
                        'end'=>$_POST['end_date'],
                        'type'=>$_POST['type'],
                        'title'=>$_POST['title'],
                        'allday'=>$_POST['allday'],
                        'backgroundColor'=>$_POST['color_sele'],
                    
                    )
                );

                $return_data['error_msg']="change_ok";
                $return_data['error_code']=0;
                return;
                    break;
    }

}